Puzzling Perimeter - 2

Move the blue dots.

eq1: x = 0
AA = 18 (slider from 15 to 30, step 1)
A = (0, 0)
c_1 = Circle(A, AA)
B, N = Intersect(c_1, eq1)
n = Segment(A, B)
f = Line(A, xAxis)
g = OrthogonalLine(A, f)
h = OrthogonalLine(B, g)
BB = 14 (slider from -5 to 20, step 1)
d_1 = Circle(B, BB)
C, P = Intersect(d_1, h)
i = OrthogonalLine(C, h)
D = Point(i)
j = OrthogonalLine(D, i)
I = Intersect(n, j)
d = Segment(I, D)
J = Point(d)
R = Point(d)
zz = Segment(R, D)
p = Segment(B, C)
q = Segment(C, D)
CC = 16 (slider from -5 to 20, step 1)
E = Point(zz)
k = OrthogonalLine(E, j)
I_2 = Segment(E, D)
F = Point(k)
m = OrthogonalLine(F, k)
r = Segment(E, F)
c = Circle(F, CC)
G = Intersect(c, m, 1)
s = Segment(F, G)
t = OrthogonalLine(G, s)
H = Intersect(t, xAxis)
a = Segment(A, H)
b = Segment(G, H)
perim: (2 * (n + p + s))
e = OrthogonalLine(J, d)
K = Intersect(e, m)
eq2: x = 24
M = Intersect(eq2, m)
f_1 = Segment(K, J)
g_1 = Segment(E, J)
L = Intersect(eq2, xAxis)
h_1 = Segment(M, L)
i_1 = Segment(H, L)
j_1 = Segment(K, F)
O = Point(h_1)
k_1 = Segment(G, O)
Perimeter: n + p + q + I + g_1 + r + s + h_1 + i_1 + a
l_1 = Segment(J, D)
n_1 = Segment(H, L)
text2: "Perimeter = " + (LaTeX[n]) + "+" + (LaTeX[p]) + "+" + (LaTeX[q]) + "+" + (LaTeX[l_1]) + "+" + (LaTeX[g_1]) + "+" + (LaTeX[r]) + "+" + (LaTeX[s]) + "+" + (LaTeX[h_1]) + "+" + (LaTeX[a]) + "=" + (LaTeX[perim]) + ""
p_1 = Segment(A, H)
text4: "Perimeter = " + (LaTeX[n]) + " +" + (LaTeX[p]) + " +" + (LaTeX[q]) + " +" + (LaTeX[I_2]) + " +" + (LaTeX[r]) + " +" + (LaTeX[s]) + " +" + (LaTeX[b]) + " +" + (LaTeX[n_1]) + " +" + (LaTeX[p_1]) + " = " + (LaTeX[perim]) + ""
m_1 = Segment(A, L)
q_1 = Segment(E, J)